// pages/collect/collect.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        num:0,
        tipsflag:false,//提示
        tipscontent:'',//提示内容
        isShow:true,
        goodsList:[
            {
              id:1,
              picUrl:'../../images/lists05.webp',
              description:'创维网络平板液晶电视机',
              address:'广东广州',
              oldPrice:4999,
              price:3989
            },
          ]
    },

    // 点击编辑
    change(){
      let flag = !this.data.isShow
      this.setData({
        isShow : flag,
      })
    },
    // 加入购物车
    addCart(data){
      let id = data.currentTarget.dataset.id;
      let goodsindex = this.data.goodsList.findIndex(item=>item.id == id)
       // 购物车数据结构
       let cartLists ={
        id:data.currentTarget.dataset.id,
        picUrl:this.data.goodsList[goodsindex].picUrl,
        description:this.data.goodsList[goodsindex].description,
        price:this.data.goodsList[goodsindex].price,
        oldPrice:this.data.goodsList[goodsindex].oldPrice,
        num:1,
        }
        // 数据添加数据缓存中
        // 1.判断数据缓存中是否有数据
        let goodsCarList = wx.getStorageSync("goodsCarlist");//获取数据
        // 2.有数据
        if(goodsCarList){
            // 2.1有相同数据，数据加一
            let index = goodsCarList.findIndex(item=>item.id == data.currentTarget.dataset.id)
            if(index != -1){  //有相同数据
                goodsCarList[index].num += 1;
            }else{
                // 2.2有数据没有相同数据,添加数据
                goodsCarList.push(cartLists);
            }
            wx.setStorageSync("goodsCarlist",goodsCarList);
        }else{
            // 3.没有数据 添加数据
            wx.setStorageSync("goodsCarlist",[cartLists]);
        }
        this.setData({
          tipsflag:true,
          tipscontent:"成功加入购物车"
        })
        setTimeout(() => {
          this.setData({
            tipsflag:false,
          })
        }, 1500);
    },
    // 删除商品
    del(data){
      let id = data.currentTarget.dataset.id;
      let index = this.data.goodsList.findIndex(item=>item.id == id)
      this.data.goodsList.splice(index,1);
      // this中数据删除后重新渲染视图
      this.setData({
        tipsflag:true,//提示
        tipscontent:"删除成功",
        goodsList:this.data.goodsList
      })
      setTimeout(() => {
        this.setData({
          tipsflag:false,
        })
      }, 1500);//1.5s提示消失
      wx.setStorageSync('collectLists', this.data.goodsList)
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
    let collect = wx.getStorageSync('collectLists')
     this.setData({
        goodsList:collect,
        num:collect.length
     })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
      let collect = wx.getStorageSync('collectLists')
      this.setData({
         goodsList:collect,
         num:collect.length
      })
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})